﻿using System.Collections.Generic;
using FluorineFx;
using Neturion.Dados;
using Neturion.Fachadas;

namespace Neturion.Servicos
{
    [RemotingService]
    public class ServicoLogradouro
    {
        public Logradouro Inserir(Logradouro logradouro, Usuario usuarioPermissao)
        {
            return Fachada.GetInstancia().Inserir(logradouro, usuarioPermissao);
        }

        public Logradouro Atualizar(Logradouro logradouro, Usuario usuarioPermissao)
        {
            return Fachada.GetInstancia().Atualizar(logradouro, usuarioPermissao);
        }

        public void Excluir(Logradouro logradouro, Usuario usuarioPermissao)
        {
            Fachada.GetInstancia().Excluir(logradouro, usuarioPermissao);
        }

        public Logradouro ObterLogradouroPorId(int id, Usuario usuarioPermissao)
        {
            return Fachada.GetInstancia().ObterLogradouroPorId(id, usuarioPermissao);
        }

        public IList<Logradouro> ObterTodosLogradouros(Usuario usuarioPermissao)
        {
            return Fachada.GetInstancia().ObterTodosLogradouros(usuarioPermissao);
        }

        public IList<Logradouro> ObterTodosLogradouros(int inicio, int quantidade, int quantidadeMinima, Usuario usuarioPermissao, Cidade cidade, Bairro bairro, TipoLogradouro tipoLogradouro, string descricao)
        {
            return Fachada.GetInstancia().ObterTodosLogradouros(inicio, quantidade, quantidadeMinima, usuarioPermissao,
                                                                cidade, bairro, tipoLogradouro, descricao);
        }

        public IList<Logradouro> ObterLogradouroPorCep(Usuario usuarioPermissao, string cep)
        {
            return Fachada.GetInstancia().ObterLogradouroPorCep(usuarioPermissao,cep);
        }
    }
}